import Router from 'koa-router' // 引入路由中间件
// import Province from '../dbs/models/province' // 导入模型
import axios from './utils/axios' // 引入axios

// 定义路由前缀
const router = new Router({
  prefix: '/geo'
})

// 获取当前所在城市
router.get('/getPosition', async (ctx) => {
  const { status, data: { province, city } } = await axios.get('http://cp-tools.cn/geo/getPosition')
  if (status === 200) {
    ctx.body = {
      province,
      city
    }
  } else {
    ctx.body = {
      province: '',
      city: ''
    }
  }
})

// 省份接口
router.get('/province', async (ctx) => {
  // 1. 使用本地数据库里的数据实现ssr
  // const province = await Province.find()
  // ctx.body = {
  //   province: province.map((item) => {
  //     return {
  //       id: item.id,
  //       name: item.value[0]
  //     }
  //   })
  // }
  // 2. 使用线上数据
  const { status, data: { province } } = await axios.get('http://cp-tools.cn/geo/province')
  ctx.body = {
    province: status === 200 ? province : []
  }
})

// 某个省份对应的城市
router.get('/province/:id', async (ctx) => {
  const { status, data: { city } } = await axios.get(`http://cp-tools.cn/geo/province/${ctx.params.id}`)
  ctx.body = {
    city: status === 200 ? city : []
  }
})

// 获取全国城市列表
router.get('/city', async (ctx) => {
  const { status, data: { city } } = await axios.get('http://cp-tools.cn/geo/city')
  ctx.body = {
    city: status === 200 ? city : []
  }
})

// 获取热门城市
router.get('/hotCity', async (ctx) => {
  const { status, data: { hots } } = await axios.get('http://cp-tools.cn/geo/hotCity')
  ctx.body = {
    hots: status === 200 ? hots : []
  }
})

// 获取城市分类接口
// router.get('')

// 菜单接口
router.get('/menu', async (ctx) => {
  const { status, data: { menu } } = await axios.get('http://cp-tools.cn/geo/menu')
  if (status === 200) {
    ctx.body = {
      menu
    }
  } else {
    ctx.body = {
      menu: []
    }
  }
})

export default router
